<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>学习vue</title>
    <!-- 引入vue -->
    <script src="../js/vue.js"></script>
</head>
<body>
    <!-- 准备好一个容器，和vue绑定的代码叫vue模板 -->
    <div id="root">
        <!-- 插值语法，得写成js表达式 -->
        <a v-bind:href="name" >{{name.toUpperCase()}} - {{size}} - {{Date.now()}}</a>
        <hr/>
        <!-- v-bind: 简写成 : -->
        <a :href="name" >{{name.toUpperCase()}} - {{size}} - {{Date.now()}}</a>
        <hr/>
        单向数据绑定：<input :value="name" />
        <!-- v-model是双向绑定，只能用在输入类元素必须有value值才行(v-model:value是个固定用法) -->
        <hr/>
        双向数据绑定：<input v-model:value="name" />
        <hr/>
        <!-- v-model:value简写成v-model -->
        双向数据绑定：<input v-model="name" />
    </div>
    <script>
        //设置为 false 以阻止 vue 在启动时生成生产提示。
        Vue.config.productionTip = false 

        
        //创建Vue实例，vue实例和容器是一一对应的。
        const vm = new Vue({
            //el(element)用于指定当前vue实例为那个容器服务，值通常是CSS选择器字符串
            //el的第1种写法
            //el:'#root',  
            //data中用于存储数据，数据供el所指定的容器去使用，值可以是对象也可以是函数。
            //data第1种写法
            // data:{
            //     name :"zzz1"
            // }
            //data第2种写法
            // data:function(){
            //可以简写成
            data(){
                console.log("data.this is ", this);
                return {
                    name : "zzz1",
                    size:999
                }
            }
        })
        //用于在console里面打印出对象
        console.log(vm);
        //动态加载容器
        setTimeout(()=>{
            //el的第2种写法
            vm.$mount("#root")
        },1000)
    </script>    
</body>
</html>